就小女子淺見,現在iOS開發有幾個選項:
前者的話,我目前沒有web app可以apapt成mobile app,而且根據個人經驗,寫前端的經驗從來都不是很順利XD。
2017被Google released的Flutter似乎是越來越主流的選擇,不過也因為很新的關係,我擔心線上資源較少。
根據OBJECTIVE C VS SWIFT COMPARISON這部影片,swift最主要的好處就是語法比較輕量、直觀,雖然自己是學c/cpp出身的,或是說,就是因為是學c/cpp出身的XD所以最後選擇學習Swiftヽ(‘ ∇‘ )ノ~~
var - changable 宣告可改變值的變數
let - constant 宣告常數
let str: String = "Hello"
basic variable type: String, Double, Float, Boolean
var integers = [Int] ()
常見方法: append(+=), 使用index取值, count
by白話的數學定義,就是一堆沒有編號、沒有重複的資料
var chars = Set<Character>()
常見方法: insert
var dict = [Int: String] ()
dict[2] = ["aaaa", "cccc"]
print(dict[2]?[1]) // Optional("cccc")
第4行印出的Optional就是變數值可以為nil
更精準的說,optional有兩個值: nil, some
像是以下的程式碼會出現error,因為無法確保str有值,也就是說只有string可以append string
var str: String?
var newStr = str + "suffix"
因此可以加上!
去強制取值,不過記得還是要先判斷是否真的有值可拿 :arrow_down_small:
if str != nil {
var newStr = str! + "suffix"
}
換個寫法,也可以直接使用一個常數變數去接,接得到的話就代表有值.
這邊使用strVal接住str的值,並使用if去判斷strVal是否有接到值,若有的話才進行append :arrow_down_small:
if let strVal = str {
var newStr = strVal + "suffix"
}
...
在新版的swift當中,這種if let
的寫法又有了新的改革(!) (~ ̄▽ ̄)~\
我們可以使用guard
來取代if let
,我自己的理解有點像是確保的語意,頗析一下的話,其實也是一個if/else的結構。
func printMeaningOfLife() {
guard let name = getMeaningOfLife() else {
return
}
print(name)
}
(以上的例子出自於這篇文章: When to use guard let rather than if let)
以下是一個簡單的class範例,包含屬性與方法
class FastCar {
var topSpeed: Int
init (topSpeed: Int) {
self.topSpeed = topSpeed
}
func getTopSpeed () -> Int {
return self.topSpeed
}
}
以下是class繼承的簡單範例,BigFamilyCar繼承FamilyCar、而FamilyCar又繼承Car。因此BigFamilyCar共有3個屬性,其中兩個是繼承來的。
class Car {
let numWheels: Int
init(numberWheels: Int) {
self.numWheels = numberWheels
}
}
class FamilyCar : Car { // numWheels, numDoors
let numDoors = 5
}
class BigFamilyCar : FamilyCar { // numWheels, numDoors, size
var size = "large"
}
這篇文章就到這邊了~雖然內容極其簡單,但基於前一篇標題的精神,還是決定先打好微小的基礎!
若有任何建議或是指教,歡迎留言◦°˚(*❛‿❛)/˚°◦